package com.uam.sgr.seguridad.actions;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.uam.sgr.seguridad.dto.UsuarioMixDTO;
import com.uam.sgr.seguridad.services.LogueoServiceI;
import com.uam.sgr.seguridad.services.SeguridadBusinessDelegate;

public class UsuarioAction extends ActionSupport {

	private static final long serialVersionUID = 1L;
	private String usuario;
	private String clave;
	private String mensaje;
	private UsuarioMixDTO usuarioDTO;
	private Map<String, Object> miSesion;
	private LogueoServiceI objLogueoService = SeguridadBusinessDelegate
			.getLogueoService();


	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getClave() {
		return clave;
	}

	public void setClave(String clave) {
		this.clave = clave;
	}

	public String getMensaje() {
		return mensaje;
	}

	public void setMensaje(String mensaje) {
		this.mensaje = mensaje;
	}


	public String validarUsuario() {
		String vista = null;

		miSesion = ActionContext.getContext().getSession();

		usuarioDTO = objLogueoService.validarUsuario(usuario);

		if (usuarioDTO == null) {
			vista = "error";
			mensaje = getText("usuario.valida.usuario");
		} else {
			if (!usuarioDTO.getClave().equals(clave)) {
				vista = "error";
				mensaje = getText("usuario.valida.clave");
			} else {
				miSesion.put("usuario", usuarioDTO);
				if (usuarioDTO.getDesCargo() != null) {
					vista = "exitoCape";
				} else {
					vista = "exitoAlumno";
				}

			}

		}

		return vista;
	}

}
